const globalData = {
  QUESTION_TYPE: {
    1: '单选题',
    2: '多选题',
    3: '判断题',
    5: '简答题',
    6: '代码题',
    7: '实操题',
    9: '填空题'
  },
  JUDGMENT_ANSWER: {
    1: '对',
    0: '错'
  },
  CLASS_STATE: {
    2: '已开班',
    1: '未开班',
    3: '已结课'
  },
  EXAM_STATE: {
    0: '未发布',
    1: '已发布'
  },
  DEAL_MAP: {
    1: '待回复',
    2: '已回复（有效）',
    3: '已回复（描述不清）',
    4: '已回复（无效）',
    5: '已关闭'
  },
  // 试题难度
  QUESTION_DIFFICULTY: {
    1: '1星',
    2: '2星',
    3: '3星',
    4: '4星',
    5: '5星'
  },
  // // 场景用于创建试卷选择试题
  // SCENE_TYPE_SELECT_QUESTION: {
  //   SOLID_TEST: 3,
  //   AFTER_CLASS_HOMEWORK: 4
  // },
  // // 场景
  // SCENE_TYPE: {
  //   SOLID_TEST: 7,
  //   AFTER_CLASS_HOMEWORK: 8
  // },
  // // 场景
  // SCENE_TYPE_NAME: {
  //   SOLID_TEST: '随堂测试',
  //   AFTER_CLASS_HOMEWORK: '课后作业'
  // },
  // 场景通过TYPE
  SCENE_TYPE_NAME_BY_TYPE: {
    7: '随堂测试',
    8: '课后作业'
  },
  EXAM_TYPE: {
    1: '阶段考试',
    2: '升级考试'
  },
  CLASS_MODE_MAP: {
    0: '全天有课',
    1: '上午有课',
    2: '下午有课'
  },
  EXAM_STUDENT_STATE: {
    0: '未交卷',
    1: '已交卷'
  },
  SEX_MAP: {
    0: '女',
    1: '男'
  },
  AGE_MAP: {
    0: '小于18岁',
    1: '18~21岁',
    2: '22~25岁',
    3: '26~29岁',
    4: '大于等于30岁'
  },
  EDUCATION_MAP: {
    11: '大专以下',
    12: '本科及以上',
    13: '大专'
  },
  LEVEL_MAP: {
    A: 'A',
    B: 'B',
    C: 'C',
    D: 'D',
    E: 'E',
    '-1': '未评级'
  },
  LAST_FLAG_MAP: {
    1: '是',
    0: '否'
  },
  // 就业状态
  EMPLOYMENT_STATUS_MAP: {
    0: '未就业',
    1: '已就业',
    2: '未计入就业',
    3: '关闭就业服务'
  },
  FEEDBACK_STATUS_MAP: {
    0: '未开始',
    1: '进行中',
    2: '已完成'
  },
  STUDENT_STATUS_MAP: {
    1: '在校',
    2: '应届',
    3: '在职',
    4: '待业'
  },
  FOLLOW_TYPE_MAP: {
    1: '学习跟进',
    2: '就业跟进',
    3: '进班跟进',
    4: '升级跟进'
  },
  // 学习基础
  STUDY_BASE_MAP: {
    1: '有编程基础',
    2: '无编程基础',
    3: '缺乏电脑常识'
  },
  // 跟进排序
  FOLLOW_SORT_MAP: {
    1: '按照报名时间正序',
    2: '按照报名时间倒序',
    3: '按照跟进时间正序',
    4: '按照跟进时间倒序'
  },
  // 发布状态
  PUBLIC_STATUS: {
    1: '已发布',
    2: '待发布'
  },
  // 发布状态对应颜色
  PUBLIC_STATUS_COLOR: {
    1: '#47d4c9',
    2: '#e86969'
  },
  // 合同状态
  CONTRACT_STATUS: {
    // 预览中
    previewing: '预览中',
    // 已预览
    previewed: '已预览',
    // 签署中
    signing: '签署中',
    // 已签署
    signed: '已签署',
    // 作废中
    canceling: '作废中',
    // 已作废
    canceled: '已作废'
  },
  // 合同状态对应颜色
  CONTRACT_STATUS_COLOR: {
    // 预览中
    previewing: '#e86969',
    // 已预览
    previewed: '#e86969',
    // 签署中
    signing: '#e86969',
    // 已签署
    signed: '#47d4c9',
    // 作废中
    canceling: '#e86969',
    // 已作废
    canceled: '#d7d7d7'
  },
  // 签署人证件类型
  SIGNER_TYPE: {
    Other: '其他', 
    IDCard: '身份证号码', 
    Passport: '中国护照', 
    HMPass: '港澳居民来往内地通行证', 
    MTP: '台胞证'
  },
  // 数据授权
  DATA_AUTH: {
    0: '短训',
    1: '博学谷'
  },
  // 账号状态
  ACCOUNT_STATUS: {
    1: '启用',
    2: '禁用'
  },
  // 短训签订合同状态
  SHORT_TRAIN_CONTRACT_STATUS: {
    0: '未开放',
    1: '待签订',
    2: '待作废',
    3: '已作废',
    4: '已签订'
  }
}

globalData.EXAM_STATE_LIST = filterMapToList(globalData.EXAM_STATE)
globalData.CLASS_STATE_LIST = [{ label: '已开班', value: 2 }, { label: '未开班', value: 1 }, { label: '已结课', value: 3 }]
globalData.SEX_LIST = [{ label: '男', value: 1 }, { label: '女', value: 0 }]
globalData.AGE_LIST = filterMapToList(globalData.AGE_MAP)
globalData.EDUCATION_LIST = [{ label: '大专以下', value: 11 }, { label: '大专', value: 13 }, { label: '本科及以上', value: 12 }]
globalData.LEVEL_LIST = filterMapToList(globalData.LEVEL_MAP)
globalData.LAST_FLAG_LIST = [{ label: '是', value: 1 }, { label: '否', value: 0 }]
globalData.EMPLOYMENT_STATUS_List = filterMapToList(globalData.EMPLOYMENT_STATUS_MAP)
globalData.QUESTION_DIFFICULTY_LIST = filterMapToList(globalData.QUESTION_DIFFICULTY)
globalData.QUESTION_TYPE_LIST = filterMapToList(globalData.QUESTION_TYPE)
globalData.FOLLOW_TYPE_LIST = filterMapToList(globalData.FOLLOW_TYPE_MAP)
globalData.STUDENT_STATUS_LIST = filterMapToList(globalData.STUDENT_STATUS_MAP)
globalData.STUDY_BASE_LIST = filterMapToList(globalData.STUDY_BASE_MAP)
globalData.FOLLOW_SORT_LIST = filterMapToList(globalData.FOLLOW_SORT_MAP)
globalData.PUBLIC_STATUS_LIST = filterMapToList(globalData.PUBLIC_STATUS)
globalData.CONTRACT_STATUS_LIST = filterMapToList(globalData.CONTRACT_STATUS)
globalData.SIGNER_TYPE_LIST = filterMapToList(globalData.SIGNER_TYPE)
globalData.ACCOUNT_STATUS_LIST = filterMapToList(globalData.ACCOUNT_STATUS)
globalData.DATA_AUTH_LIST = filterMapToList(globalData.DATA_AUTH)
globalData.SHORT_TRAIN_CONTRACT_STATUS_LIST = filterMapToList(globalData.SHORT_TRAIN_CONTRACT_STATUS)

function filterMapToList(obj) {
  const result = []
  for (const i in obj) {
    result.push({ label: obj[i], value: i })
  }
  return result
}

export default globalData
